// =======================================================================
// 
//       Filename:  pluginobject.hpp
// 
//    Description:  
// 
//        Version:  1.0
//        Created:  17.04.2010 17:50:47
//       Revision:  none
//       Compiler:  g++
// 
//         Author:  Dominik 'domachine' Burgdörfer (-), dominik.burgdoerfer@googlemail.com
//        Company:  -
// 
// =======================================================================


#ifndef  PLUGINOBJECT_INC
#define  PLUGINOBJECT_INC
#include <fstream>
#include <map>
#include <vector>
#include <boost/any.hpp>
#define WP_EXPORT_PLUGIN(plugin) \
    extern "C" { \
        webplodder::PluginObject * newInstance(); \
    } \
\
    webplodder::PluginObject * newInstance() { \
        return new plugin; \
    }
namespace webplodder {
    class PluginObject {
    public:
        virtual void launch(std::map<std::string,std::string>&,
                std::ostream&,
                const std::vector<boost::any>& args) = 0;
    };
}
#endif   // ----- #ifndef PLUGINOBJECT_INC  -----
